package ObjectClass

/**
 * 伴生对象中的apply方法：将所有类的构造方法以apply方法的形式定义在伴生对象中，这样伴生对象就像生成类实例的工厂，而这些apply方法也被称为工厂方法
 * @param name
 */
class Car(name: String) {
  def info(): Unit = {
    println("Car name is " + name)
  }
}

object Car {
  def apply(name: String) = new Car(name)
}

object CarTest {
  def main(args: Array[String]): Unit = {
    val myCar = Car("BYD")
    myCar.info
  }
}
